package br.com.ecommerce.imagens;

import java.io.File;
import java.io.FileOutputStream;

import javax.servlet.ServletContext;

import org.apache.commons.io.IOUtils;

import br.com.caelum.vraptor.interceptor.multipart.UploadedFile;
import br.com.caelum.vraptor.ioc.Component;
import br.com.ecommerce.modelo.Produto;

@Component
public class Imagens {

	private File pastaImagens;
	
	public Imagens(ServletContext context) {
		String caminhoImagens = context.getRealPath("/WEB-INF/imagens");
		pastaImagens = new File(caminhoImagens);
		pastaImagens.mkdir();
	}
	
	public void salva(UploadedFile imagem, Produto produto) {
		File destino = new File(pastaImagens, produto.getId() + ".imagem");
		
		try {
			IOUtils.copyLarge(imagem.getFile(), new FileOutputStream(destino));
		} catch (Exception e) {
			throw new RuntimeException("Erro ao copiar imagem", e);
		}
	}

	public File mostra(Produto produto) {
		return new File(pastaImagens, produto.getId() + ".imagem");
	}
}
